package com.aier.classes.service;

import java.util.List;
import java.util.Map;

import com.aier.classes.entity.InviteParent;
import com.aier.classes.entity.InviteTeacher;
import com.aier.classes.entity.RequestParent;
import com.aier.classes.entity.RequestTeacher;

public interface IInviteRequestService {


  
    
    /**
     * 分页显示 邀请班级家长记录列表
     * @return
     */
    Map<String, Object> searchInviteParentList(int page,
            int pagesize, Long cid);
    
    /**
     * 根据id查询  邀请班级家长记录
     * @return
     */
    InviteParent searchInviteParentById(Long ipid);   
    
    /**
     * 根据手机号查询家长邀请记录
     * @return
     */
    InviteParent searchInviteParentByPhone(String phone,Short state);
    
    /**
     * 查询某状态的家长邀请记录列表
     * @return
     */
    List<InviteParent> searchInviteParentListByState(short inviteTypeWait);
    
    /**
     * 添加 邀请班级家长记录
     * @return
     */
    int insertInviteParent(InviteParent inviteParent);
    
    /**
     * 批量添加 邀请班级家长记录表
     * @return
     */
    int insertInviteParentList(Long tid, Long cid, String invitePar_message);
    
    /**
     * 批量添加班级家长
     * @return
     */
    int insertParentList(Long tid, Long cid, String invitePar_message);
    
    /**
     * 批量修改班级家长
     * @return
     */
    int updateParentList(Long tid, Long cid, String updatePar_message);
    
    /**
     * 删除 邀请班级家长记录
     * @return
     */
    int deleteInviteParent(Long ipid);
        
    /**
     * 修改 邀请班级家长记录状态(同意或拒绝)
     * @return
     */
    int updateInviteParent(Long ipid,Short state);
        
//=====================================================================================        

    /**
     * 分页显示 邀请教师记录(邀请到学校或班级)列表
     * @return
     */
    Map<String, Object> searchInviteTeacherList(int page,
            int pagesize, Long cid,Integer sid);
    
    /**
     * 根据id查询  邀请教师记录(邀请到学校或班级)
     * @return
     */
    InviteTeacher searchInviteTeacherById(Long itid);   
    
    /**
     * 根据手机号 查询邀请教师记录
     * @return
     */
    InviteTeacher searchInviteTeacherByPhone(String phone, Short state);
    
    /**
     * 查询某状态的家长邀请记录列表
     * @return
     */
    List<InviteTeacher> searchInviteTeacherListByState(short inviteTypeWait);
    
    /**
     * 添加 邀请教师记录(邀请到学校或班级)
     * @return
     */
    int insertInviteTeacher(InviteTeacher inviteTeacher);
    
    /**
     * 批量添加 邀请教师记录(邀请到学校或班级)
     * @return
     */
    int insertInviteTeacherList(Integer sid, Long cid, Long tid,
            String inviteTea_message);
    
    /**
     * 批量添加教师记录(添加到学校或班级)
     * @return
     */
    int insertTeacherList(Integer sid, Long cid, Long tid,
            String inviteTea_message);
    
    /**
     * 删除 邀请教师记录(邀请到学校或班级)
     * @return
     */
    int deleteInviteTeacher(Long itid);
        
    /**
     * 修改 邀请教师记录状态(邀请到学校或班级)(同意或拒绝)
     * @return
     */
    int updateInviteTeacher(Long itid,Short state);    
    
//=====================================================================================    
    
    /**
     * 分页显示 家长申请加入班级记录列表
     * @return
     */
    Map<String, Object> searchRequestParentList(int page,
            int pagesize, Long cid, Short state);
    
    /**
     * 根据id查询  家长申请加入班级记录表
     * @return
     */
    RequestParent searchRequestParentById(Long rpid);   
    
    /**
     * 添加 家长申请加入班级记录表
     * @return
     */
    int insertRequestParent(RequestParent requestParent);
    
    /**
     * 删除 家长申请加入班级记录表
     * @return
     */
    int deleteRequestParent(Long rpid);
        
    /**
     * 修改 家长申请加入班级记录表(同意或拒绝)
     * @return
     */
    int updateRequestParent(Long rpid,Short state,Long cid);

//=====================================================================================    
    
    /**
     * 分页显示 教师申请加入学校(班级)记录列表
     * @return
     */
    Map<String, Object> searchRequestTeacherList(int page,
            int pagesize, Long cid,Integer sid,Short state);
    
    /**
     * 根据id查询  教师申请加入学校(班级)记录表
     * @return
     */
    RequestTeacher searchRequestTeacherById(Long rtid);   
    
    /**
     * 获取是否审核中
     * @param state
     * @param sid
     * @return
     */
    List<Object> requestTeacherListByState(Integer sid,Integer uid);
    
    /**
     * 添加 教师申请加入学校(班级)记录表
     * @return
     */
    int insertRequestTeacher(RequestTeacher requestTeacher);
    
    /**
     * 删除 教师申请加入学校(班级)记录表
     * @return
     */
    int deleteRequestTeacher(Long rtid);
        
    /**
     * 修改 教师申请加入学校(班级)记录表(同意或拒绝)
     * @return
     */
    int updateRequestTeacher(Long rtid,Short state,Long tid);

//=====================================================================================
    
    /**
     * 拒绝邀请(手机号)
     */
    void updateInviteRefuse(String phone);

	





    

    
    
}
